package com.ruoyi.system.service;

import java.util.List;

import com.ruoyi.system.domain.*;

/**
 * 合同Service接口
 * 
 * @author ruoyi
 * @date 2020-06-28
 */
public interface ISysTenantService 
{
    /**
     * 查询合同
     * 
     * @param tenantId 合同ID
     * @return 合同
     */
    public SysTenant selectSysTenantById(Long tenantId);

    /**
     * 待收租定时任务（个人/企业）
     *
     * @param sysTenant
     */
    public List<SysTenant> selectSysBacklogTaskList(SysTenant sysTenant);

    /**
     * 根据单元Id查询合同
     *
     * @param unitIdStr 合同ID
     * @return 合同
     */
    public List<SysTenant> selectSysTenantByUnitId(String unitIdStr);

    /**
     * 查询面积总和(个人或者企业)
     *
     *  @param
     *  @return SysTenant
     */
    public SysTenant selectSysTenantOtherArea();

    /**
     * 查询面积总和(宿舍)
     *
     *   @param
     *   @return SysTenant
     */
    public SysTenant selectSysTenantAccommodationArea();

    /**
     * 根据楼栋Id查询合同
     *
     * @param buildingId 合同ID
     * @return 合同
     */
    public List<SysTenant> selectSysTenantByBuildingId(Long buildingId);

    /**
     * 查询合同列表
     * 
     * @param sysTenant 合同
     * @return 合同集合
     */
    public List<SysTenant> selectSysTenantList(SysTenant sysTenant);

    /**
     * 查询合同导出合同列表
     *
     * @param sysTenant 合同
     * @return 合同集合
     */
    public List<SysTenantExcel> selectSysTenantExcelList(SysTenant sysTenant);

    /**
     * 查询离租合同导出列表
     *
     * @param sysTenant 合同
     * @return 合同集合
     */
    public List<SysTenantExcel> selectSysTenantLeaveExcelList(SysTenant sysTenant);

    /**
     * 查询合同导出合计
     *
     * @param sysTenant 合同ID
     * @return 合同
     */
    public SysTenantExcel selectSysTenantExcelSum(SysTenant sysTenant);

    /**
     * 查询合同涨租明细列表
     *
     * @param sysTenant 合同
     * @return 合同集合
     */
    public List<SysTenantHigher> selectSysTenantHigherExcelList(SysTenant sysTenant);

    /**
     * 查询合同涨租列表
     *
     * @param sysTenant 合同
     * @return 合同集合
     */
    public List<SysTenant> selectSysTenantHigherList(SysTenant sysTenant);



    /**
     * 查询合同
     *
     * @param tenantId 合同ID
     * @return 合同
     */
    public SysTenant selectSysTenantBacklogByIds(String tenantId);


    /**
     * 新增合同
     * 
     * @param sysTenant 合同
     * @return 结果
     */
    public int insertSysTenant(SysTenant sysTenant);

    /**
     * 合同续租
     *
     * @param sysTenant 合同
     * @return 结果
     */
    public int insertSysTenantContinue(SysTenant sysTenant);

    /**
     * 修改合同
     * 
     * @param sysTenant 合同
     * @return 结果
     */
    public int updateSysTenant(SysTenant sysTenant);

    /**
     * 定时任务接口-修改涨租状态
     *
     * @param sysTenant 合同
     * @return 结果
     */
    public int updateSysTenantRisePriceStatus(SysTenant sysTenant);

    /**
     * 合同离租
     *
     * @param sysTenant 合同离租
     * @return 结果
     */
    public int leaveSysTenant(SysTenant sysTenant);

    /**
     * 批量删除合同
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteSysTenantByIds(String ids);

    /**
     * 删除合同信息
     * 
     * @param tenantId 合同ID
     * @return 结果
     */
    public int deleteSysTenantById(Long tenantId);

    /**
     * 小数点转换
     *
     * @return 结果
     */
    public SysTenant exchange(SysTenant tenant);


    /**
     * 小数点转换
     *
     * @return 结果
     */
    public SysTenantExcel exchangeTwo(SysTenantExcel tenant);

    /**
     * 小数点转换
     *
     * @return 结果
     */
    public SysTenantHigherExcel exchangeThree(SysTenantHigherExcel tenant);
}
